{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Brain Tumor Segmentation\n",
    "\n",
    "This Notebook will train a convolution neural network to segment tumors in brain scans."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## 1 Imports, Variables & Functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import skimage.io as io\n",
    "import skimage.transform as trans\n",
    "import random as r\n",
    "from keras.optimizers import Adam"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "import glob\n",
    "def create_data(src, mask, label=False, resize=(128,128,128)):\n",
    "    files = glob.glob(src + mask, recursive=True)\n",
    "    imgs = []\n",
    "    for file in files:\n",
    "        img = io.imread(file, plugin='simpleitk')\n",
    "        if label:\n",
    "            img[img == 4] = 1\n",
    "            img[img != 1] = 0\n",
    "            img = img.astype('float32')\n",
    "        else:\n",
    "            img = (img-img.mean()) / img.std()\n",
    "        img = trans.resize(img, resize, mode='constant')\n",
    "        imgs.append(img)\n",
    "    name = 'y' if label else 'x'\n",
    "    np.save(name, np.array(imgs)[..., np.newaxis].astype('float32'))\n",
    "    print('Saved', len(files), 'to', name)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "from keras.models import Input, Model\n",
    "from keras.layers import Conv2D, Concatenate, MaxPooling2D, Reshape\n",
    "from keras.layers import UpSampling2D, Activation, Permute\n",
    "\n",
    "def level_block(m, dim, depth, factor, acti):\n",
    "    if depth > 0:\n",
    "        n = Conv2D(dim, 3, activation=acti, padding='same')(m)\n",
    "        n = Conv2D(dim, 3, activation=acti, padding='same')(n)\n",
    "        m = MaxPooling2D()(n)\n",
    "        m = level_block(m, int(factor*dim), depth-1, factor, acti)\n",
    "        m = UpSampling2D()(m)\n",
    "        m = Conv2D(dim, 2, activation=acti, padding='same')(m)\n",
    "        m = Concatenate(axis=3)([n, m])\n",
    "    m = Conv2D(dim, 3, activation=acti, padding='same')(m)\n",
    "    return Conv2D(dim, 3, activation=acti, padding='same')(m)\n",
    "\n",
    "def UNet(img_shape, n_out=1, dim=64, depth=4, factor=2, acti='elu', flatten=False):\n",
    "    i = Input(shape=img_shape)\n",
    "    o = level_block(i, dim, depth, factor, acti)\n",
    "    o = Conv2D(n_out, (1, 1))(o)\n",
    "    if flatten:\n",
    "        o = Reshape(n_out, img_shape[0] * img_shape[1])(o)\n",
    "        o = Permute((2, 1))(o)\n",
    "    o = Activation('sigmoid')(o)\n",
    "    return Model(inputs=i, outputs=o)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "from keras.models import Input, Model\n",
    "from keras.layers import Conv3D, Concatenate, MaxPooling3D, Reshape\n",
    "from keras.layers import UpSampling3D, Activation, Permute\n",
    "\n",
    "def level_block_3d(m, dim, depth, factor, acti):\n",
    "    if depth > 0:\n",
    "        n = Conv3D(dim, 3, activation=acti, padding='same')(m)\n",
    "        m = MaxPooling3D()(n)\n",
    "        m = level_block_3d(m, int(factor*dim), depth-1, factor, acti)\n",
    "        m = UpSampling3D()(m)\n",
    "        m = Concatenate(axis=4)([n, m])\n",
    "    return Conv3D(dim, 3, activation=acti, padding='same')(m)\n",
    "\n",
    "def UNet_3D(img_shape, n_out=1, dim=64, depth=4, factor=2, acti='elu'):\n",
    "    i = Input(shape=img_shape)\n",
    "    o = level_block_3d(i, dim, depth, factor, acti)\n",
    "    o = Conv3D(n_out, 1, activation='sigmoid')(o)\n",
    "    return Model(inputs=i, outputs=o)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "import keras.backend as K\n",
    "def f1_score(y_true, y_pred):\n",
    "    y_true_f = K.flatten(y_true)\n",
    "    y_pred_f = K.flatten(y_pred)\n",
    "    intersection = K.sum(y_true_f * y_pred_f)\n",
    "    return (2. * intersection + 1.) / (K.sum(y_true_f) + K.sum(y_pred_f) + 1.)\n",
    "\n",
    "def f1_loss(y_true, y_pred):\n",
    "    return -f1_score(y_true, y_pred)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## 2 Process Data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "This will use the **T1c** files as input (features) and the **OT** files as output (labels). Note that the entire LGG folder as well as seperate color channels are currently excluded from this built due to performance bottlenecks."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Saved 220 to x\n",
      "Saved 220 to y\n"
     ]
    }
   ],
   "source": [
    "create_data('BRATS2015_Training/HGG/', '**/*T1c*.mha', label=False, resize=(32,32,32))\n",
    "create_data('BRATS2015_Training/HGG/', '**/*OT*.mha', label=True, resize=(32,32,32))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## 3 Load Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true,
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x:  (220, 32, 32, 32, 1)\n",
      "y: (220, 32, 32, 32, 1)\n"
     ]
    }
   ],
   "source": [
    "x = np.load('x.npy')\n",
    "print('x: ', x.shape)\n",
    "y = np.load('y.npy')\n",
    "print('y:', y.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Let's take a look at a few samples to check if the labels are correct"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true,
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAAEgCAYAAACQH/YaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAF61JREFUeJzt3W2M5Wd5H+DfvbuzXtv43cY2tgkmWKUQJWu0cQyhlIKS\ngD8EiCIEH4jVUJlUgQQp/UBTtQGpH0hVkqZVSmQCwUkggSZEoApCjGuVQsKLMQZsDNgQIzC2lxcb\nr429npenH/ZYWojnOeN5zplz1r4uaTRnzn1e7vl75vZv/3PmnmqtBQCA7dm16AYAAI5lwhQAwABh\nCgBggDAFADBAmAIAGCBMAQAMEKYAAAYIUwAAA4QpAIABe3byyfbWcW1fTtzJpwQW7FDu/k5r7axF\n9zHK/ILHn63Or6EwVVUvSvIHSXYn+ePW2pt7t9+XE/Mz9cKRpwSOMR9pf/X1RfewmUczw8wvePzZ\n6vza9o/5qmp3kj9M8uIkz0jyyqp6xnYfD2AnmWHArIy8ZuqSJLe21r7WWnsoyV8mecls2gKYOzMM\nmImRMHVekm8c9fE3J9f9kKq6oqquq6rrVnN44OkAZmrqDDO/gK2Y+2/ztdaubK0daK0dWMlx8346\ngJkxv4CtGAlTtye54KiPz59cB3AsMMOAmRgJU59OclFVXVhVe5O8IskHZtMWwNyZYcBMbHs1Qmtt\nrapem+TDOfJrxe9ord00s84A5sgMA2ZlaM9Ua+2DST44o14AdpQZBsyCPycDADBAmAIAGCBMAQAM\nEKYAAAYIUwAAA4QpAIABwhQAwABhCgBggDAFADBAmAIAGCBMAQAMEKYAAAYIUwAAA4QpAIABwhQA\nwABhCgBggDAFADBAmAIAGCBMAQAMEKYAAAYIUwAAA4QpAIABwhQAwABhCgBggDAFADBAmAIAGCBM\nAQAMEKYAAAYIUwAAA4QpAIABe0buXFW3JTmUZD3JWmvtwCyaAtgJZhgwC0NhauJftda+M4PHAVgE\nMwwY4sd8AAADRsNUS/J3VfWZqrpiFg0B7CAzDBg2+mO+57bWbq+qJya5uqq+1Fr76NE3mAyoK5Jk\nX04YfDqAmerOMPML2IqhM1Ottdsn7w8m+ZsklzzCba5srR1orR1YyXEjTwcwU9NmmPkFbMW2w1RV\nnVhVJz18OcnPJ7lxVo0BzJMZBszKyI/5zk7yN1X18OO8u7X2tzPpCmD+zDBgJrYdplprX0vyUzPs\nhTnaffLJ3XqdeXq3/t3nnNOtn3LrD/oNfPIL3fK9r/iZbv206/u/ub7+5Vv7zw8/wgwDZsVqBACA\nAcIUAMAAYQoAYIAwBQAwQJgCABggTAEADBCmAAAGjP5tPpbEh791Q7f+3Ne9pluvjf7jHz6ln7u/\n+8wT+w/wzEv7j39G9eunntWt73pev57WL5/xx//QvwEwN9Pm1y88af8OdQLb48wUAMAAYQoAYIAw\nBQAwQJgCABggTAEADBCmAAAGWI1wjLj0c6vd+h/ec0G3fucvPdStn/yxfd363nv7uwXWj+uWs7HS\nr2faaoZT+6sTptl9uF+/51XP7tZP/TOrE2C7pq0+GL3/ZRf/fLe+ftfBoeeHaZyZAgAYIEwBAAwQ\npgAABghTAAADhCkAgAHCFADAAGEKAGCAPVPHiM/dc363fvCtF3brl7zuy936lz729G69Nvp7pmqj\nvweqpuyROukb/Rvcf04/96+d0H/8ac/f/LMCjln/+GtP69af/CZ7ppgv/wsBABggTAEADBCmAAAG\nCFMAAAOEKQCAAcIUAMAAYQoAYIA9U0viztc/p1u/77P9RUn1iw9263903oe69Ve88LxuPR85qVs+\n7vv9PVQbq/09VOt7x/ZU7Vrt1zdW+vXVE6c8/8XP7NbbZ2/qPwE8hj3pE/35MG83v+Z/duuXvfuX\nuvX1W742y3Z4HJp6Zqqq3lFVB6vqxqOuO72qrq6qWybvT5tvmwDbY4YB87aVH/O9M8mLfuS6NyS5\nprV2UZJrJh8DLKN3xgwD5mhqmGqtfTTJ937k6pckuWpy+aokL51xXwAzYYYB87bd10yd3Vq7Y3L5\nziRnb3bDqroiyRVJsi9T/oAawM7Y0gwzv4CtGP5tvtZaS7Lpq49ba1e21g601g6s5LjRpwOYqd4M\nM7+ArdhumLqrqs5Nksl7f5IbOJaYYcDMbDdMfSDJ5ZPLlyd5/2zaAdgRZhgwM1NfM1VVf5Hk+UnO\nrKpvJvmdJG9O8t6qenWSryd5+TybfDy4/N/8bbf+0e9e1K2/7vyPdOsn1Vq3vrbWz9V371/v1p/4\n8d3d+u7V/h6q9ZX+nqfWf/is3N9//LXj+4+/91D//gcvPblbP+uz3TILZIbN3588+f8tuoWuD/7f\n93Xrv/Ck/TvUCY9VU8NUa+2Vm5ReOONeAGbODAPmzZ+TAQAYIEwBAAwQpgAABghTAAADhCkAgAHC\n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\nT1XV56rqpqp60+T6C6vqk1V1a1W9p6r2zr9dgEfHDAPmbStnpg4neUFr7aeS7E/yoqq6NMnvJvn9\n1trTktyd5NXzaxNg28wwYK6mhql2xH2TD1cmby3JC5L81eT6q5K8dC4dAgwww4B529Jrpqpqd1Xd\nkORgkquTfDXJPa21tclNvpnkvPm0CDDGDAPmaUthqrW23lrbn+T8JJckefpWn6Cqrqiq66rqutUc\n3mabANu33RlmfgFb8ah+m6+1dk+Sa5M8O8mpVbVnUjo/ye2b3OfK1tqB1tqBlRw31CzAiEc7w8wv\nYCu28tt8Z1XVqZPLxyf5uSQ358hA+uXJzS5P8v55NQmwXWYYMG97pt8k5ya5qqp250j4em9r7X9X\n1ReT/GVV/eckn03y9jn2CbBdZhgwV1PDVGvt80kufoTrv5Yjrz0AWFpmGDBvNqADAAwQpgAABghT\nAAADhCkAgAHCFADAAGEKAGCAMAUAMKBaazv3ZFXfTvL1o646M8l3dqyBR2+Z+1vm3pLl7m+Ze0se\ne/39WGvtrHk1s1PMr5lb5v6Wubdkuftb5t6SOc2vHQ1T/+TJq65rrR1YWANTLHN/y9xbstz9LXNv\nif6OFct+HPS3fcvcW7Lc/S1zb8n8+vNjPgCAAcIUAMCARYepKxf8/NMsc3/L3Fuy3P0tc2+J/o4V\ny34c9Ld9y9xbstz9LXNvyZz6W+hrpgAAjnWLPjMFAHBMW0iYqqoXVdWXq+rWqnrDInroqarbquoL\nVXVDVV23BP28o6oOVtWNR113elVdXVW3TN6ftmT9vbGqbp8cwxuq6rIF9XZBVV1bVV+sqpuq6jcn\n1y/8+HV6W5Zjt6+qPlVVn5v096bJ9RdW1Scn37/vqaq9i+hvkcywR9WL+bX93pZ2fk3pb1mO387N\nsNbajr4l2Z3kq0memmRvks8lecZO9zGlx9uSnLnoPo7q53lJnpXkxqOu+y9J3jC5/IYkv7tk/b0x\nyb9bgmN3bpJnTS6flOQrSZ6xDMev09uyHLtK8oTJ5ZUkn0xyaZL3JnnF5Po/SvJvF93rDh8XM+zR\n9WJ+bb+3pZ1fU/pbluO3YzNsEWemLklya2vta621h5L8ZZKXLKCPY0Zr7aNJvvcjV78kyVWTy1cl\neemONnWUTfpbCq21O1pr108uH0pyc5LzsgTHr9PbUmhH3Df5cGXy1pK8IMlfTa5f6Nfegphhj4L5\ntX3LPL+m9LcUdnKGLSJMnZfkG0d9/M0s0cGfaEn+rqo+U1VXLLqZTZzdWrtjcvnOJGcvsplNvLaq\nPj85jb6w0/gPq6qnJLk4R/51slTH70d6S5bk2FXV7qq6IcnBJFfnyBmZe1pra5ObLOP377yZYeOW\n6vtvE0vxPfiwZZ5fiRnmBeiP7LmttWcleXGSX6+q5y26oZ525Fzlsv1a5luT/HiS/UnuSPKWRTZT\nVU9I8tdJXt9au/fo2qKP3yP0tjTHrrW23lrbn+T8HDkj8/RF9cKjcszMsEV//21iab4Hk+WeX4kZ\nliwmTN2e5IKjPj5/ct3SaK3dPnl/MMnf5Mh/gGVzV1WdmyST9wcX3M8Paa3dNfki3kjytizwGFbV\nSo58o7+rtfa+ydVLcfweqbdlOnYPa63dk+TaJM9OcmpV7ZmUlu77dweYYeOW4vtvM8v0PbjM82uz\n/pbp+D1s3jNsEWHq00kumryafm+SVyT5wAL6eERVdWJVnfTw5SQ/n+TG/r0W4gNJLp9cvjzJ+xfY\nyz/x8Df6xMuyoGNYVZXk7Ulubq393lGlhR+/zXpbomN3VlWdOrl8fJKfy5HXRFyb5JcnN1u6r70d\nYIaNW/j3X88SfQ8u7fxKzLAfsqBX2F+WI6/6/2qS/7CIHjq9PTVHfjvnc0luWob+kvxFjpwqXc2R\nn+++OskZSa5JckuSjyQ5fcn6+7MkX0jy+Rz5xj93Qb09N0dOgX8+yQ2Tt8uW4fh1eluWY/eTST47\n6ePGJP9pcv1Tk3wqya1J/leS4xb1tbeoNzPsUfVjfm2/t6WdX1P6W5bjt2MzzAZ0AIABXoAOADBA\nmAIAGCBMAQAMEKYAAAYIUwAAA4QpAIABwhQAwABhCgBgwP8HPnO+WoHtrdAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115541eb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import random as r\n",
    "i = int(r.random() * x.shape[0])\n",
    "plt.figure(figsize=(10,10))\n",
    "plt.subplot(121)\n",
    "plt.imshow(x[i, int(x.shape[1]/2), :, :, 0])\n",
    "plt.subplot(122)\n",
    "plt.imshow(y[i, int(y.shape[1]/2), :, :, 0])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## 4 Training"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "model = UNet_3D(x.shape[1:], dim=16, factor=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "model.load_weights('weights.h5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "model.compile(optimizer=Adam(lr=0.000001), loss=f1_loss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true,
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 176 samples, validate on 44 samples\n",
      "Epoch 1/1\n",
      "176/176 [==============================] - 379s - loss: -0.5516 - val_loss: -0.5710\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x1219526d8>"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(x, y, validation_split=0.2, epochs=1, batch_size=8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "model.save_weights('weights.h5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "pred = model.predict(x[:50])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2oAAAElCAYAAACVuhGbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm0ZXd1H/jvrkml0jyhmVmJG9y2UMoY2wQTYztAHIaE\ndsDdWB1jZAcPYcVeCSZ2Izue4gRPSYwjhkgGY4MxBNoLjAWNQ4PNIIQYhAAJLEUSmpFQqSSVqur9\n8sc9ZZ5Kdc998/2V+HzWeuvdd/YZ9jv17q6z77n396vWWgAAAOjHpnknAAAAwINp1AAAADqjUQMA\nAOiMRg0AAKAzGjUAAIDOaNQAAAA6o1ED4BtOVV1bVd87x+PfUFVPn9fxgfmoqkdXVauqLcPP76mq\n81ewn0dW1T1VtXnts6QXGjVGbcTFTFVdWFVvWs9jABurql5YVR+tqt1Vdevw+GVVVfPObcxw0XTP\n8LW3qh5Y9PPvr3Cfb6qqC9c4VWAdDdc/9w3P/Vuq6uKqOnqtj9Nae1Zr7ZIl5vO312Ottf/ZWju6\ntbZ/rXOiHxo1ANZUVf1Mkt9J8h+SnJbk1CQ/nuS7kmybsk0XrwoPF01Ht9aOTvKHSX7jwM+ttR8/\neP0Dr4oDD0v/eKgF5yXZmeTnFwdrwrU068YfF0tSVf93VX2oqv5jVd1ZVX9TVc9aFP/Lqvq1qvpY\nVd1dVe+sqhOH2NOr6oaD9ndtVX1vVT0zySuT/LPhVatPbexvBqylqjouyS8leVlr7W2ttV1t4pOt\ntf+ztbZnWO/iqnpNVb27qnYn+QdVdVxV/UFV3VZV11XVzx+4CDr4zvsh3j70l1X176rqw1W1q6r+\noqpOXrT+i4d93lFV/3YVv9/3DvXrlVV1c5LXVtWPVtVfLlpny5Dbo6vqZUn+WZJXDjXuHYt2d15V\nfaaqvlZVf1RVR6w0L2D9tNZuTPKeJN881JpfqaoPJ7k3yWOH2vX6qrqpqm6sql8+8OJTVW0erp1u\nr6ovJ/lHi/c97O9HF/380qq6aqhjn6uq86rqjUkemeT/HerIvz5EDTyjqt5VVV+tqmuq6qWL9nlh\nVb11qK+7qurKqtq57ieOVdOosRzfnuQLSU5O8htJXl/1oLcx/XCSH0lyepJ9SX531g5ba3+e5FeT\nvGV4xfpb1zxrYCN9R5IjkrxzCev+UJJfSXJMkg8l+U9Jjkvy2CTfnUlN+efLOPYPDes/IpM7dz+b\n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\nyrYXVNVlVXXZ3uxZi5wB/tZK65PaBKwn107Aai2pUWut7W+tnZvkrCRPTvJNSz1Aa+2i1trO1trO\nrTlihWkCHNpK65PaBKwn107Aai1r1MfW2l1JPpDkO5IcX1VbhtBZSW5c49wAlkx9AnqkNgErtZRR\nH0+pquOHx0cm+b4kV2VSdF4wrHZ+kneuV5IAh6I+AT1Sm4C1sGX2Kjk9ySVVtTmTxu6trbU/q6rP\nJfnjqvrlJJ9M8vp1zBPgUNQnoEdqE7BqMxu11tqnkzzpEMu/nMl7rgHmQn0CeqQ2AWthWZ9RAwAA\nYP1p1AAAADqjUQMAAOiMRg0AAKAzGjUAAIDOaNQAAAA6U621jTtY1W1Jrlu06OQkt29YAkvXa15J\nv7n1mlfSb2695pUsL7dHtdZOWc9k1tthVJuSfnPrNa+k39x6zSvpN7fl5qU+bZxe80r6zU1ey9dr\nbutSmza0UXvIwasua63tnFsCU/SaV9Jvbr3mlfSbW695JX3nthF6/v17za3XvJJ+c+s1r6Tf3HrN\nayP1eg56zSvpNzd5LV+vua1XXt76CAAA0BmNGgAAQGfm3ahdNOfjT9NrXkm/ufWaV9Jvbr3mlfSd\n20bo+ffvNbde80r6za3XvJJ+c+s1r43U6znoNa+k39zktXy95rYuec31M2oAAAA81LzvqAEAAHCQ\nuTRqVfXMqvpCVV1TVa+YRw7TVNW1VfWZqrqiqi6bcy5vqKpbq+qzi5adWFWXVtXVw/cTOsnrwqq6\ncThvV1TVs+eQ19lV9YGq+lxVXVlV/3JYPtdzNpJXD+dse1V9rKo+NeT2i8Pyx1TVR4fn6FuqattG\n5zYvvdYntWnFec39eTbkoT4tLy+16SC91qakn/rUa20ayW3u9UltWlFuG1efWmsb+pVkc5IvJXls\nkm1JPpXkCRudx0h+1yY5ed55DLk8Lcl5ST67aNlvJHnF8PgVSf59J3ldmORn53y+Tk9y3vD4mCRf\nTPKEeZ+zkbx6OGeV5Ojh8dYkH03ylCRvTfLCYfnvJ/kX88xzA89Ht/VJbVpxXnN/ng15qE/Ly0tt\nevD56LY2Dfl1UZ96rU0juc29PqlNK8ptw+rTPO6oPTnJNa21L7fWHkjyx0meO4c8utda+2CSrx60\n+LlJLhkeX5LkeRuaVKbmNXettZtaa5cPj3cluSrJmZnzORvJa+7axD3Dj1uHr5bke5K8bVg+l7+z\nOVGflkBtWj71aXnUpodQm5ag19qU9Fuf1Kbl28j6NI9G7cwk1y/6+YZ0cuIHLclfVNUnquqCeSdz\nCKe21m5li+y8AAAC00lEQVQaHt+c5NR5JnOQn6yqTw+39+fy1oIDqurRSZ6Uyasc3Zyzg/JKOjhn\nVbW5qq5IcmuSSzN51fau1tq+YZXenqPrqef6pDat3NyfZ4upT0vOR236up5rU9J3fermOTZFN/VJ\nbVpWThtSnwwm8lBPba2dl+RZSX6iqp4274SmaZN7q70M2/maJI9Lcm6Sm5K8el6JVNXRSf40yctb\na3cvjs3znB0iry7OWWttf2vt3CRnZfKq7TfNIw9mUptWpovn2QHq09KpTYeVw6I+dVabkg6eZweo\nTcuzUfVpHo3ajUnOXvTzWcOyLrTWbhy+35rkHZmc/J7cUlWnJ8nw/dY555Mkaa3dMvzRLiR5beZ0\n3qpqayZP6D9srb19WDz3c3aovHo5Zwe01u5K8oEk35Hk+KraMoS6eo6us27rk9q0Mj09z9SnlVGb\nknRcm5Lu69Pcn2PT9PI8U5tWbr3r0zwatY8nOWcYGWVbkhcmedcc8niIqjqqqo458DjJ9yf57PhW\nG+5dSc4fHp+f5J1zzOVvHXgyD56fOZy3qqokr09yVWvtNxeF5nrOpuXVyTk7paqOHx4fmeT7Mnkf\n+AeSvGBYrZu/sw3QZX1Sm1auh+fZkIf6tLy81KYH67I2JYdFfeqyNiXzf54NOahNy89t4+rTrNFG\n1uMrybMzGb3lS0n+7TxymJLXYzMZSelTSa6cd25J/iiT27p7M3mv60uSnJTk/UmuTvK+JCd2ktcb\nk3wmyaczeXKfPoe8nprJrflPJ7li+Hr2vM/ZSF49nLNvSfLJIYfPJvl/huWPTfKxJNck+ZMkR2x0\nbvP66rE+qU2rymvuz7MhN/VpeXmpTQ89J93VpkX/Jl3Up15r00huc69PatOKctuw+lTDjgEAAOiE\nwUQAAAA6o1EDAADojEYNAACgMxo1AACAzmjUAAAAOqNRAwAA6IxGDQAAoDMaNQAAgM78L90m4bS3\nlFjLAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x12327edd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nkVvX6xO1aVq5da4+RURHfyT1SHpI0qGS+iXdIenITueRyG+NpEXdzqPI5QRJx0i6u2rZpyWdWzw+\nV9I/ZpId27+/AAADv0lEQVTXKkkf6PLxWiLpmOLxPEn3Szqy28cskVcOx8yS5haP+yTdIuk4SVdI\nemex/MuS/qKbeXbweGRbn6hN086r66+zIg/qU2N5UZuefTyyrU1FflnUp1xrUyK3rtcnatO0cutY\nferGFbVjJT0YEQ9HxC5J35B0chfyyF5E3CjpyUmLT5Z0WfH4Mknv6GhSKs2r6yJiQ0TcVjweknSf\npIPU5WOWyKvromJb8Wdf8ROSXifpymJ5V/6fdQn1qQ7UpsZRnxpDbXoOalMdcq1NUr71idrUuE7W\np240agdJerTq73XK5MAXQtKPbN9qe2W3k5nC4ojYUDzeKGlxN5OZ5H227ywu73flowW72T5E0tGq\nvMuRzTGblJeUwTGz3WP7dkmbJV2nyru2T0fEWLFKbq/Rdsq5PlGbpq/rr7Nq1Ke686E2/VbOtUnK\nuz5l8xorkU19ojY1lFNH6hM3E3mu10TEMZLeLOm9tk/odkJlonJtNZfbdp4v6TBJyyVtkPSZbiVi\ne66kb0s6JyK2Vse6ecymyCuLYxYR4xGxXNJSVd61fXE38kBN1KbpyeJ1thv1qX7Upj3KHlGfMqtN\nUgavs92oTY3pVH3qRqO2XtKyqr+XFsuyEBHri9+bJX1XlYOfk022l0hS8Xtzl/ORJEXEpuI/7YSk\nC9Wl42a7T5UX9Nci4jvF4q4fs6nyyuWY7RYRT0u6QdLxkhba7i1CWb1G2yzb+kRtmp6cXmfUp+mh\nNknKuDZJ2denrr/GyuTyOqM2TV+761M3GrVfSjqiuDNKv6R3Srq6C3k8h+05tuftfizpTZLuTo/q\nuKslnVE8PkPSVV3M5Td2v5gLp6gLx822JV0s6b6I+GxVqKvHrCyvTI7ZfrYXFo9nSXqjKp8Dv0HS\nqcVq2fw/64As6xO1afpyeJ0VeVCfGsuL2vRsWdYmaY+oT1nWJqn7r7MiB2pT47l1rj7VuttIO34k\nvUWVu7c8JOnvupFDSV6HqnInpTsk3dPt3CRdrspl3VFVPut6pqR9JV0v6QFJP5Y0mEleX5F0l6Q7\nVXlxL+lCXq9R5dL8nZJuL37e0u1jlsgrh2P2ckm/KnK4W9J/K5YfKukXkh6U9C1JA53OrVs/OdYn\nalNTeXX9dVbkRn1qLC9q03OPSXa1qerfJIv6lGttSuTW9fpEbZpWbh2rTy42DAAAAADIBDcTAQAA\nAIDM0KgBAAAAQGZo1AAAAAAgMzRqAAAAAJAZGjUAAAAAyAyNGgAAAABkhkYNAAAAADJDowYAAAAA\nmfn/nFQp1tJ++HEAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x123485748>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2oAAAElCAYAAACVuhGbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu07WdZH/rvk33Nzv1GSEgggFDLUQk0B6FwLF5QQI/g\nOGixR6QVSD1qW0d1tJTairZ4a9Hac47UQDhJUdCIIhwPKsgAOaAFIoZLyEEgTUxCLuR+2dm3td/z\nx5xbFjt7vus215pvwuczxhprrvnM9/d71m+t+YzfM39zvm+11gIAAMA4jlt0AgAAAHwljRoAAMBg\nNGoAAACD0agBAAAMRqMGAAAwGI0aAADAYDRqAHzVqarrqurbFrj/G6vquYvaP7AYVXVBVbWq2j79\n+Q+r6uXr2M5jq+r+qto2/ywZhUaNrq04mamq11bVb2zmPoCtVVUvraqPVNUDVXXb9PaPVFUtOree\n6UnT/dOvg1V1YNnP/2Wd2/yNqnrtnFMFNtH0/OfB6XP/1qq6rKpOnPd+WmsvaK1dvsp8/uZ8rLX2\n1621E1trS/POiXFo1ACYq6r6iSS/muQ/JHl0krOT/HCSZyfZOWPMEK8KT0+aTmytnZjkN5P80pGf\nW2s/fPTjj7wqDjwi/c/TWvD0JBcl+anlwZpwLs2m8c/FqlTVP6yqD1XVf6yqu6rqv1fVC5bFP1BV\nP19VH62qe6vqnVV1+jT23Kq68ajtXVdV31ZVz0/ymiR/f/qq1Se29jcD5qmqTknys0l+pLX29tba\nfW3iL1tr/2trbf/0cZdV1Ruq6t1V9UCSb66qU6rqv1bVl6rq+qr6qSMnQUdfeT/G24c+UFX/rqo+\nXFX3VdV7qurMZY9/2XSbd1TVv97A7/dt0/r1mqq6Jckbq+qVVfWBZY/ZPs3tgqr6kSR/P8lrpjXu\nHcs29/Sq+lRV3VNVb6uqXevNC9g8rbWbkvxhkq+b1prXVdWHk+xN8oRp7bq0qm6uqpuq6t8fefGp\nqrZNz51ur6prk3zn8m1Pt/fKZT+/qqqumdaxz1TV06vqLUkem+T/ntaRf3GMGnhuVb2rqu6sqs9X\n1auWbfO1VXXFtL7eV1VXV9VFm37g2DCNGmvxjUk+m+TMJL+U5NKqr3gb0w8m+aEk5yQ5lOQ/r7TB\n1tofJfm5JL89fcX6qXPPGthKz0qyK8k7V/HYf5DkdUlOSvKhJP97klOSPCHJ38ukpvyjNez7H0wf\n/6hMrtz9ZJJU1VOSvCHJy5Kcm+SMJOetYbtHOy/JiZmcOP1I74GttV9L8ttJfm5a475nWfj7kjwv\nk9/370zzAwZTVecneWGSv5ze9bIkF2dSu65Pclkm5z1fk+RpSb49yZHm61VJvmt6/0VJXtLZz/cm\neW0mte/kJN+d5I7W2suS/HWmV/haa790jOG/leTGTGrcS5L8XFV9y7L4d08fc2qSdyX5P1b7+7M4\nGjXW4vrW2hun74e+PJOG7Oxl8be01j7dWnsgyb9J8n2jvJ0J2DJnJrm9tXboyB1V9WdVdff08x7f\ntOyx72ytfbi1djjJwSQvTfKvplfhrkvy+qytefm/Wmt/1Vp7MMkVSS6c3v+SJH/QWvvg9Irev0ly\neN2/4eSE7LWttQPTfa3Xf2qt3dJauyPJHyzLFxjD71fV3Zm8kPSnmbywnCSXtdaunta50zNp4n68\ntfZAa+22JL+SST1LJi/I/KfW2g2ttTuT/Hxnf6/M5O3WH5u+E+HzrbXrV0py2kg+O8m/bK3ta61d\nleRNmTR8R3yotfbu6TncW5J4YfxhwHvrWYtbjtxore2dXkxb/sHaG5bdvj7JjkxO2oCvHnckObOq\nth9p1lprfzeZzHSYr3yBcHnNODOTmrH8pOT6JI9Zw75vWXZ7b75cn85dvq/W2gNVdccatnu0W1tr\nBzYw/oij8z19DtsE5ufFrbU/WX7H9Nxnee16XCa16+ZlbzI6btljzs1Dz49mOT/JF9aR57lJ7myt\n3XfUfpa/vfHoerN7eZ1mTK6oMU/nL7v92ExeIb89yQNJ9hwJTK+ynbXssW1LsgO2wp8n2Z/kRat4\n7PLn/u2Z1IzHLbvvsUlumt7+ijqSySQlq3VzltWnqtqTydsf1+vomrVSbmocPLIsf07fkEnNO7O1\ndur06+TW2v8wjX9F/cmkrs1yQ5InrmKfR/tiktOr6qSj9nPTjMfzMKFRY55+oKqeMj0J+tkkb59e\nYv+rTF65+c6q2pHJrEnLPzR/a5ILysxJ8LDXWrs7yc8k+bWqeklVnVRVx1XVhUlO6IxbyuTtiq+b\njnlckn+e5MgEIlcl+aaarB10SpJ/tYa03p7ku6rqOVW1M5P6NM9684kk31BVX19Vxyf56aPit2by\nOTTgEaa1dnOS9yR5fVWdPK13T6yqvzd9yBVJ/mlVnVdVpyV5dWdzb0ryk1X1d2ria6a1MOnUkdba\n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\nAACD0agBAAAMRqMGAAAwmBUbtaraXVUfrapPVNXVVfUz0/sfX1UfqarPV9VvV9XOzU8X4MvUJ2BE\nahMwD6u5orY/ybe01p6a5MIkz6+qZyb5xSS/0lr7miR3JXnF5qUJcEzqEzAitQnYsBUbtTZx//TH\nHdOvluRbkrx9ev/lSV68KRkCzKA+ASNSm4B5WNVn1KpqW1VdleS2JO9N8oUkd7fWDk0fcmOSx8wY\ne3FVXVlVVx7M/nnkDPA31luf1CZgMzl3AjZqVY1aa22ptXZhkvOSPCPJ1652B621S1prF7XWLtqR\nXetME+DY1luf1CZgMzl3AjZqTbM+ttbuTvL+JM9KcmpVbZ+Gzkty05xzA1g19QkYkdoErNdqZn08\nq6pOnd4+PsnzklyTSdF5yfRhL0/yzs1KEuBY1CdgRGoTMA/bV35IzklyeVVty6Sxu6K19gdV9Zkk\nv1VV/z7JXya5dBPzBDgW9QkYkdoEbNiKjVpr7ZNJnnaM+6/N5D3XAAuhPgEjUpuAeVjTZ9QAAADY\nfBo1AACAwWjUAAAABqNRAwAAGIxGDQAAYDAaNQAAgMFUa23rdlb1pSTXL7vrzCS3b1kCqzdqXsm4\nuY2aVzJubqPmlawtt8e11s7azGQ228OoNiXj5jZqXsm4uY2aVzJubmvNS33aOqPmlYybm7zWbtTc\nNqU2bWmj9pCdV13ZWrtoYQnMMGpeybi5jZpXMm5uo+aVjJ3bVhj59x81t1HzSsbNbdS8knFzGzWv\nrTTqMRg1r2Tc3OS1dqPmtll5eesjAADAYDRqAAAAg1l0o3bJgvc/y6h5JePmNmpeybi5jZpXMnZu\nW2Hk33/U3EbNKxk3t1HzSsbNbdS8ttKox2DUvJJxc5PX2o2a26bktdDPqAEAAPBQi76iBgAAwFEW\n0qhV1fOr6rNV9fmqevUicpilqq6rqk9V1VVVdeWCc3lzVd1WVZ9edt/pVfXeqvrc9Ptpg+T12qq6\naXrcrqqqFy4gr/Or6v1V9Zmqurqq/tn0/oUes05eIxyz3VX10ar6xDS3n5ne//iq+sj0OfrbVbVz\nq3NblFHrk9q07rwW/jyb5qE+rS0vtekoo9amZJz6NGpt6uS28PqkNq0rt62rT621Lf1Ksi3JF5I8\nIcnOJJ9I8pStzqOT33VJzlx0HtNcvinJ05N8etl9v5Tk1dPbr07yi4Pk9dokP7ng43VOkqdPb5+U\n5K+SPGXRx6yT1wjHrJKcOL29I8lHkjwzyRVJXjq9/78k+d8WmecWHo9h65PatO68Fv48m+ahPq0t\nL7XpK4+eBaUbAAADhklEQVTHsLVpmt8Q9WnU2tTJbeH1SW1aV25bVp8WcUXtGUk+31q7trV2IMlv\nJXnRAvIYXmvtg0nuPOruFyW5fHr78iQv3tKkMjOvhWut3dxa+/j09n1JrknymCz4mHXyWrg2cf/0\nxx3Tr5bkW5K8fXr/Qv7PFkR9WgW1ae3Up7VRmx5CbVqFUWtTMm59UpvWbivr0yIatcckuWHZzzdm\nkAM/1ZK8p6r+oqouXnQyx3B2a+3m6e1bkpy9yGSO8mNV9cnp5f2FvLXgiKq6IMnTMnmVY5hjdlRe\nyQDHrKq2VdVVSW5L8t5MXrW9u7V2aPqQ0Z6jm2nk+qQ2rd/Cn2fLqU+rzkdt+rKRa1Mydn0a5jk2\nwzD1SW1aU05bUp9MJvJQz2mtPT3JC5L8aFV906ITmqVNrq2OMm3nG5I8McmFSW5O8vpFJVJVJyb5\n3SQ/3lq7d3lskcfsGHkNccxaa0uttQuTnJfJq7Zfu4g8WJHatD5DPM+OUJ9WT216WHlY1KfBalMy\nwPPsCLVpbbaqPi2iUbspyfnLfj5vet8QWms3Tb/fluQdmRz8kdxaVeckyfT7bQvOJ0nSWrt1+k97\nOMkbs6DjVlU7MnlC/2Zr7femdy/8mB0rr1GO2RGttbuTvD/Js5KcWlXbp6GhnqObbNj6pDatz0jP\nM/VpfdSmJAPXpmT4+rTw59gsozzP1Kb12+z6tIhG7WNJnjSdGWVnkpcmedcC8niIqjqhqk46cjvJ\ntyf5dH/UlntXkpdPb788yTsXmMvfOPJknvqeLOC4VVUluTTJNa21X14WWugxm5XXIMfsrKo6dXr7\n+CTPy+R94O9P8pLpw4b5P9sCQ9YntWn9RnieTfNQn9aWl9r0lYasTcnDoj4NWZuSxT/PpjmoTWvP\nbevq00qzjWzGV5IXZjJ7yxeS/OtF5DAjrydkMpPSJ5Jcvejckrwtk8u6BzN5r+srkpyR5H1JPpfk\nT5KcPkheb0nyqSSfzOTJfc4C8npOJpfmP5nkqunXCxd9zDp5jXDMviHJX05z+HSSfzu9/wlJPprk\n80l+J8murc5tUV8j1ie1aUN5Lfx5Ns1NfVpbXmrTQ4/JcLVp2d9kiPo0am3q5Lbw+qQ2rSu3LatP\nNd0wAAAAgzCZCAAAwGA0agAAAIPRqAEAAAxGowYAADAYjRoAAMBgNGoAAACD0agBAAAMRqMGAAAw\nmP8fFIYTlPgfqMwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1237fd9b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import random as r\n",
    "num = int(x.shape[1]/2)\n",
    "for n in range(3):\n",
    "    i = int(r.random() * pred.shape[0])\n",
    "    plt.figure(figsize=(15,10))\n",
    "\n",
    "    plt.subplot(131)\n",
    "    plt.title('Input')\n",
    "    plt.imshow(x[i, num, :, :, 0])\n",
    "\n",
    "    plt.subplot(132)\n",
    "    plt.title('Ground Truth')\n",
    "    plt.imshow(y[i, num, :, :, 0])\n",
    "\n",
    "    plt.subplot(133)\n",
    "    plt.title('Prediction')\n",
    "    plt.imshow(pred[i, num, :, :, 0])\n",
    "\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
